home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1995 November
/
EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso
/
earcd
/
util
/
misc
/
und64_37.lha
/
und64.doc
< prev
Wrap
Text File
|
1995-01-28
|
10KB
|
298 lines
UNd64 v 37.7 (28.1.95)
© Copyright 1994-1995 Jess Sosnoski
DISCLAIMER:
----------
Use this program at your own risk!
I assume no responsibility or liability for problems that occour by the use,
modification, or existence of this product in any form.
(I.E. If it destroys all but 880K of your 1.2G Harddrive,switch to floppies)
This program is copyrighted by Jess Sosnoski and is available as shareware.
It may be distributed only under the following conditions:
1.) Program and Documentation is not modified in any way.
2.) Program and Documentation must be distributed together.
3.) This package may not be used for commercial purposes.
Without my permission.
4.) Sale price must not exceed the cost of media and shipping plus a
nominal copying fee equaling no greater than fred fish charges.
5.) I give permission to release this on CD-ROM. (especially Aminet)
DESCRIPTION
-----------
This program is designed to extract files from .d64 disk images found at
WATSON.MBB.SFU.CA, and PeeCee C64 emulator diskimage files.
REQUIREMENTS
------------
An Amiga with kickstart 1.1+ (I don't have 1.0 so I can't test it on that)
about 180K free ram, .d64 diskimages, and any type of amiga-compatible
disk drive that will hold a .d64 diskimage.
WHAT ARE .D64 DISK IMAGES?
--------------------------
.d64 files are the sector-by-sector contents of a Commododore 1541 formatted
disk.
These files are commonly used by PeeCee C-64 emulators to store c-64 files,
and to xfer 1541 disks into a convenient method of storage for use by the
emulators.
Unfortunately, none of our Amiga C-64 emulators cant take advantage of this.
(HINT! HINT! Questronix/A-64!!!)
This program reads in the archive file and allows one to extract,list or
test the files within the archive.
There also exists an archive on aminet that allows one to create .d64
archives on a 5.25" drive equipped Amiga. The archive also contains a
program for dearcing files from .d64 archives.
(I believe it's in misc/emu/1541.lha)
USAGE
-----
From the Shell/CLI (only):
und64 [command]{option} [filename]
If run withour parameters, usage information will be displayed.
Commands:
l List files in Archive.
x Extract files from archive.
t Test files in archive.
Options:
d Handle DELeted files
* WARNING * Resurrecting DELeted files is risky business, if a new file
is partially written over part of a DEL'd file, you may also
get the end of another file as a surprise bonus. Or maybe
you'll just get a part of an already complete file.
a Handle ALL files. This will allow extracting of splat files, or
in other words, incorrectly closed files. Same warning as DEL files.
Filename:
Name of the file including the .d64 extension (if exists).
Example:
und64 la FooBar.d64
Example Output:
UNd64 37.7 (28.1.95)
© Copyright 1995 Jess Sosnoski / Paradigm Shift Software
Reading file...
Disk Name:games_____________04_2a
Approx
Blks Bytes Type Filename
---------------------------------
1 254 PRG star
66 16764 PRG czar trek
154 39116 DEL hhm.0801-9ff0
1 254 DEL hhm.9ff0-a000
1 254 DEL hhm.c000-c080
1 254 DEL hard hat
66 16764 PRG kong
1 254 PRG kong boot
3 762 DEL root
33 8382 DEL qfm96
2 508 DEL centipod
9 2286 DEL turbo
Output Description
------------------
Blocks: number of disk blocks it took up on the disk.
A disk block=256 bytes, 254 used for data.
Approx Bytes: 254*Blocks. This is to give an approximate filesize
Actual filesize should be smaller than or equal to this.
NOTE: If someone messed with the dir structure and
manually changed the number of blocks, this could
give false information. If blocks>664, which is
physically impossible, the length is set to 0.
Type: This will be DEL, PRG, SEQ, or USR. This is for informational
purposes only, and does not affect outputted files. For those of you
out there who are not Commodore users, PRG files are typically
programs/executables. SEQ files are typically text files. USR
can be about anything. DEL files are deleted, you can list or
attempt to extract them when using the d option.
There are also REL(ative) files, which are not supported.
REL files are 3-d type files with all kinds of side sectors
and records and junk--so I chose not to deal with them.
(as if they could be properly stored on a filesystem which does
not support them!)
Filename: Gee, I dunno.
NOTE: Filenames are converted to AmigaASCII, and any characters
<32 or >127 are converted to printable characters.
Characters /"?:#*, are converted to -
At any point during program execution, pressing CTRL-C will abort.
Output Messages
---------------
***Break
You pressed CTRL-C and stopped execution.
* Extracting
File is being extracted.
* Testing
File is being tested for integrity
>>Extracting/Testing Errors:
* Not a .d64 archive!!
The filelength wasn't EXACTLY 174848 bytes, and given that all valid
.d64 archives are of that length, nothing else is acceptable.
However, if you have a file of exactly that length, you can fool the
program (results should be interesting).
* Circular Link Found, File Truncated
UNd64 found a circular link and cut the file off there.
A circular link occours when a pointer to the next track & sector of a file
points to a track & sector earlier in a file, which can cause an infinite
loop (not good).
* File size error (n bytes)
This is either caused by circular links, inproper file size in the
directory block, or a corrupt file (possible disk error). The number
in parenthesis is the number of bytes the file actually was.
* File Exists! (R)ename (O)verwrite (S)kip (A)bort
If a file already exists with the same name, this message appears.
At this point you would select the first letter of the appropriate option
and press return. Rename will ask you for a new name to give the file,
Overwrite will overwrite the file, Skip will skip extracting the file, and
Abort will stop the program A-la CTRL-C.
COMPATIBILITY
-------------
This program was written and compiled on an A600 running 2.06 (37.350) rom,
and 2.1 workbench with 4MB Fast 2MB Chip, and a 120MB hard drive.
Tested on:
A600 2Chip 1.3/1.3
A600 2Chip 4Fast 2.06/2.1
A600 2Chip 4Fast 3.0/3.0
A1000 512K Chip 1.1,1.2,1.3
...And it worked on all of them, but bug reports are still welcome.
(I know it needs at least ~180K free memory to run)
NOTES
-----
Some .d64 files do not have fully extractable programs on them.
You may be able to extract the boot file(s), but other than that,
you will need a virtual .d64 device.
Some examples of disks that may do this would be flight simulator disks,etc.
There is a possibility that listing problems may occur if the directory
blocks are moved from track 18 (where they SHOULD be). I'm too lazy to
change a couple of lines, but if it becomes a problem, let me know.
This should not affect testing or extraction.
BENCHMARKS
----------
Command Versions/Time in Seconds
37.5 37.6+ Factor
----------------------------------------------
l (list) 9 3 ~300%
t (test) 28 6 ~466%
x (extract) 54 23 ~235%
Tested on archive commodor.d64 from watson.mbb.sfu.ca.
Results may vary depending on archive and machine.
HISTORY
-------
37.1 First Release. Written and compiled in PCQ Pascal 1.2d
(the PD release), assembled on A68k 2.71, disassembled
with IRA 1.02, re-assembled and optimized with PhxAss 3.30,
linked throughout with PhxLnk 2.03, and hunkmerged with
Imploder 4.0.
Basically, it does what is says it does.
It has a styleguide-compliant version string.
(or seems to be)
37.2 Added circular-link checking and fixed a ctrl-c bug when
attempting to break while extracting (37.1 didn't stop).
Unfortunately c-l checking slows down extraction a wee bit.
Fixed REL file bug, it no longer lists or attempts to extract
these nasty little files. Improved illegal filename character
checking. Rewrote some parts of this doc.
37.3 Speeded up circular-link check to take constant time O(1),
instead of summatory time, improved output. Added duplicate
filename checking. Improved illegal filename character checking.
Rewrote some more of the doc.
37.4 Now primarily assembled with SNMA 1.39 instead of A68K, and
re-assembled & optimized with Phxass 3.71, producing shorter
faster code. Added ability to process deleted and splat files,
put some filesize checking in.
37.5 Assembled with SNMA 1.95, and skipped Phxass because it's
optimization was causing GURU's-and I didn't want to mess
with the program to get it to work at 3am. Added file
testing, support for locked, etc.. files, removed a few bugs,
rewrote some parts of code. Improved output.
37.6 Assembled and optimized with SNMA 1.97. Rewrote reading/
writing routines for a MAJOR speed increase. Rewrote
parts of doc.
37.7 Added archive filesize checking in for almost perfect
.d64 archive recognition.
TODO
----
-SAS/C (when I can afford it)
-Wildcard extraction
-AmigaGuide docs (When I get a GOOD,easy amigaguide-writing program)
-.t64 file processing
*I am currently rewriting the entire program in Modula-2, which supports
2.x+, therefore I will be writing the program to be 2.x+ only, which
should result in a speed increase and other features (listed above).
The worst thing that can happen may be a slight change in command syntax.
It's also likely that I'll include the last version of this program for
all you 1.3- die-hards.
HARDER things TO DO
-------------------
-Make it possible to create/modify .d64 diskimage files. Copying files both
from and to, renaming, deleting, etc...
-Make the above into a virtual disk .d64filesystem so that any program can
make diskimages that may be xferred to C-64's & emulators.
-Repair circular links (so the whole file can be extracted).
The Author's Addresses...
-------------------------
Jess Sosnoski
651 Hillside Drive
Mount Carmel, PA 17851-2463
USA
My Internet address (unless I'm put on another machine or I leave school):
j8s@mc3b2.bloomu.edu
and
jlsosn@planetx.bloomu.edu
(latter preferred)
If you feel the irresistible need to send me money, gifts or an
Amiga 4000 Tower, I will give you a very gracious thank you.
//
// .
// /|
\\ // /_|
\x/ _/ _|MIGA...uh, when somebody wins it, let me know.
Quote of the day:
"Just takin' it easy..."
-Uncle Leo
Runner Up:
"How 'bout it!"
-Gary